package club.xyes.zkh.ecommerce.commons.dto;

import club.xyes.zkh.ecommerce.commons.entity.User;
import com.alibaba.fastjson.JSON;
import lombok.Data;

/**
 * Create by 郭文梁 2019/4/19 0019 10:38
 * MinimalUserInfo
 * 最小的用户信息
 *
 * @author 郭文梁
 * @data 2019/4/19 0019
 */
@Data
public class MinimalUserInfo {
    /**
     * 从JSON字符串创建对象
     *
     * @param json JSON字符串
     * @return 用户信息对象
     */
    public static MinimalUserInfo fromJsonString(String json) {
        return JSON.parseObject(json, MinimalUserInfo.class);
    }

    /**
     * 从User对象创建该对象
     *
     * @param user 用户对象
     * @return 基础用户信息对象
     */
    public static MinimalUserInfo fromUser(User user) {
        MinimalUserInfo res = new MinimalUserInfo();
        res.setUserId(user.getId());
        res.setWxOpenId(user.getWxOpenId());
        return res;
    }

    /**
     * 用户ID
     */
    private Integer userId;
    /**
     * 微信OpenId
     */
    private String wxOpenId;

    /**
     * 转换为JSON字符串
     *
     * @return JSON字符串
     */
    public String toJSON() {
        return JSON.toJSONString(this);
    }
}
